#include <sstream>
#include <string>
#include <vector>
struct Node {
  int val;
  Node *left;
  Node *right;
  Node(int nval) : val(nval), left(nullptr), right(nullptr) {}
};

void SerialTreePre(Node *head, std::vector<std::string> &res) {
  if (head == nullptr) {
    res.push_back("null");
    return;
  }
  std::stringstream ss;
  ss << head->val;
  res.push_back(ss.str());
  SerialTreePre(head->left, res);
  SerialTreePre(head->right, res);
}

// 按先序反序列化，总是消费头，待实现

// 中序没有序列化，有歧义
